package cn.wolfcode.luowowo.article.service;


import cn.wolfcode.luowowo.article.domain.StrategyDetail;
import cn.wolfcode.luowowo.article.domain.StrategyTag;
import cn.wolfcode.luowowo.cache.vo.StrategyStats;
import cn.wolfcode.luowowo.common.query.QueryObject;
import cn.wolfcode.luowowo.common.util.AjaxResult;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface IStrategyDetailService {
    PageInfo query(QueryObject qo);

    /**
     * 根据攻略文章的id,查询文章的detail明细,包含content
     * @param id
     * @return
     */
    StrategyDetail selectContainContentById(Long id);

    /**
     * 文章detail新增/保存的服务,返回值为AjaxResult
     * @param detail
     * @param tags
     * @return
     */
    AjaxResult saveOrUpdate(StrategyDetail detail, String tags);

    /**
     * 根据目的地id查询对应的文章
     * @param id
     * @return
     */
    List<StrategyDetail> selectByDestId(Long id);

    /**
     * 查询对应目的地下ReplyNum前三的攻略文章
     * @param id
     * @return
     */
    List<StrategyDetail> selectReplyTop3ByDestId(Long id);

    /**
     * 查询得到全部的攻略文章(全部字段)
     * @return
     */
    List<StrategyDetail> selectAll();

    /**
     * 数据落地的服务,注意,参数是stats不是detail
     * @param stats
     */
    void updateByStats(StrategyStats stats);


}
